package cor.unidad;

/**
 * La clase Coronel modifica ligeramente el comportamiento por defecto de la
 * cadena de responsabilidad: si el coronel tiene una orden específica, utiliza
 * ésta para resolver el servicio. Si no tiene una orden específica
 * (_orden==null), emplea el comportamiento convencional de las unidades
 */

public class Coronel extends Unidad {

	// inicializa la parte de unidad e inicializa el estado propio del Coronel
	// (_orden)

	public Coronel(String nombre, String orden) {
		super(nombre);
		_orden = orden;
	}

	/*
	 * refinamiento del servicio que utiliza la cadena de responsabilidad,
	 * resolviendo localmente si tiene órdenes específicas o comportándose
	 * convencionalmente en caso contrario
	 */

	public String orden() {
		return (_orden != null ? _orden : super.orden());
	}

	public String toString() {
		return ("Coronel " + super.toString());
	}

	private String _orden;
}
